summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/ptm/psm.h
blob: f674ba8bc3871150fc0a585e775ffad404574c8a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later

#pragma once

#include "core/hle/service/service.h"

namespace Service::PTM {

class PSM final : public ServiceFramework<PSM> {
public:
    explicit PSM(Core::System& system_);
    ~PSM() override;

private:
    enum class ChargerType : u32 {
        Unplugged = 0,
        RegularCharger = 1,
        LowPowerCharger = 2,
        Unknown = 3,
    };

    void GetBatteryChargePercentage(Kernel::HLERequestContext& ctx);
    void GetChargerType(Kernel::HLERequestContext& ctx);
    void OpenSession(Kernel::HLERequestContext& ctx);

    u32 battery_charge_percentage{100};
    ChargerType charger_type{ChargerType::RegularCharger};
};

} // namespace Service::PTM